/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SessionBeans;

import Entidades.Cliente;
import java.util.List;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;

/**
 *
 * @author Ivan
 */
@Stateless
@LocalBean
public class ClientesDAO {

    @PersistenceContext(name = "Tienda_asalineroPU")
    private EntityManager em;

    public List<Cliente> getClientes() {
        return getClientes(null);
    }

    public Cliente getCliente(int id) {
        return em.find(Cliente.class, id);
    }

    public void insertar(Cliente cliente) {
        em.persist(cliente);
    }

    public List<Cliente> getClientes(String where) {
        String sql = "SELECT c FROM Cliente c ";
        if (where != null) {
            sql += " WHERE " + where;
        }
        TypedQuery<Cliente> query = em.createQuery(sql, Cliente.class);
        return query.getResultList();
    }

    public String getClientesNombre(int where) {
        String sql = "SELECT c FROM Cliente c ";
        sql += " WHERE c.id=" + where;
        TypedQuery<Cliente> query = em.createQuery(sql, Cliente.class);
        List<Cliente> miNombre = query.getResultList();
        return miNombre.get(0).getNombre();
    }

    public boolean comprobarUser(Cliente cliente) {
        String userName = (String) cliente.getUsername();
        Boolean siNo = true;

        for (Cliente client : this.getClientes()) {
            if (client.getUsername().equalsIgnoreCase(userName)) {
                siNo = false;
            }
        }
        return siNo;

    }

    public List<Cliente> acceder1(String usuario, String password) {

        //Variables
        String condicion;

        //Señalamos la condición
        condicion = "c.username='" + usuario + "' AND c.password='" + password + "'";

        //Devoler parámetro
        List<Cliente> miLista = getClientes(condicion);
        return miLista;
    }
}
